package cn.iune.erp.inventory;

import java.text.ParseException;
import java.util.List;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import cn.iune.common.base.IBizDataIface;

public interface IFileGroupService extends IBizDataIface {

	List<FileGroup> getAll();

	FileGroup getByID(String fID);

	void delete(String fID);

	///////////////////////业务功能///////////////////////////////////////
	List<String> getRootIDs(String enterpriseNo);

	List<String> getChildIDs(String fParent);

	//更新修改人
	int updateAlterUser(FileGroup fs, String tUsercode, String tUsername);

	//更新层级
	int updateNodeLevel(FileGroup fs, int nodeLevel);

	//更新层级
	int updateILevel(String rowID, int nodeLevelParent);

	//更新叶子状态
	int updateNodeKind(FileGroup fs, String nodeKind);

	//更新父级
	int updateParentID(FileGroup fs, String fParent);

	//更新sortNo
	int updateSortNo(FileGroup fs, String sortNo);

	//更新全路径ID
	int updateFullID(FileGroup fs, String groupFullID);

	//更新全路径名称
	int updateFullLabel(FileGroup fs, String groupFullLabel);

	//更新全路径ID和名称
	int updateFullNoLabel(FileGroup fs, String groupFullNo, String groupFullLabel);

	//获取子节点数量
	int getChildCount(String fParent);

	//新增行的排序号编写
	String getSortNoByParent(String fParent);

	//获取ids
	List<String> getIDsByParent(String fParent, String enterpriseNo);

	//更新全路径信息
	int rewriteFullInfoByFullID(String fID, String groupFullID, String nodeKind/*,ModifyState rowState*/);

	//移动
	int move(String rowID, String oldParentID, String newParentID);

	//排序
	int sort(String parentID, List<String> ids);

	//获取数据库的父
	FileGroup getParent(FileGroup fs);

	//获取数据库的根
	FileGroup getRoot(FileGroup fs);

	List<FileGroup> getChildren(String fParent);

	List<FileGroup> getList(String enterpriseNo, Integer offset, Integer limit);

	JSONObject save(JSONObject object) throws ParseException;

	JSONObject querySimple(JSONObject param);

	int sort(String parentID, JSONArray jsonArray);




}